Using Software-extended Architectures for Software Simultaneous Multithreading
نویسندگان
چکیده
A software-extended architecture (SEA) enhances a hardware architecture by placing a high-performance dynamic instruction-set translator between the application binary and the processor, improving processor utilization and enabling new functionality with no changes to either the processor or the binaries. Our prototype implementation of a software-extended Alpha 21164 can provide new system functionality while adding only 1%{30% to the running time of an application. Using this prototype, we have implemented software simultaneous multithreading (SSMT), a new software technique for allowing programs to make greater use of the processor pipeline. SSMT merges instruction streams from independent processes, in order to increase instruction-level parallelism. Experiments with SSMT on the software-extended Alpha 21164 show that processor throughput can be improved by up to 30% on real programs, despite the small number of issue slots on this processor.
منابع مشابه
Simultaneous Multithreading
A software-extended ar hite ture (SEA) enhan es a hardware ar hite ture by pla ing a high-performan e dynami instru tion-set translator between the appli ation binary and the pro essor, improving pro essor utilization and enabling new fun tionality with no hanges to either the pro essor or the binaries. Our prototype implementation of a software-extended Alpha 21164 an provide new system fun ti...
متن کاملImproving Database Performance on Simultaneous Multithreading Processors [Extended Abstract]
We investigate three thread-based techniques to exploit SMT architectures on memory-resident data. First, we consider running independent operations in separate threads, a technique applied to conventional multiprocessor systems. Second, we describe a novel implementation strategy in which individual operators are implemented in a multi-threaded fashion. Finally, we introduce a new data-structu...
متن کاملExecuting Sequential Binaries on aClustered
With the conventional superscalar approach of exploiting ILP from a single ow of control giving diminishing returns, integrating multiple processing units on a die seems to be a promising approach. However, in these architectures, the resources are partitioned such that a thread is allocated exclusively to a processor. This risks wasting resources when a thread stalls due to hazards. While simu...
متن کاملResource Sharing Unpredictably Affects Per-thread Performance in Multithreaded Architectures, but System Software Assumes All Coexecuting Threads Make Equal Progress. Per-thread Cycle Accounting Addresses This Problem by Tracking Per-thread Progress Rates for Each Coexecuting Thread
......Multithreading and multicore processors seek to improve microprocessor utilization by sharing resources across multiple active threads. Although resource sharing increases overall system throughput, it also affects per-thread performance in unpredictable ways—that is, one thread might make faster progress than another and some threads might even starve. However, system software, such as a...
متن کاملAlgorithm, software, and hardware optimizations for Delaunay mesh generation on simultaneous multithreaded architectures
This article focuses on the optimization of PCDM, a parallel, two-dimensional (2D) Delaunay mesh generation application, and its interaction with parallel architectures based on simultaneous multithreading (SMT) processors. We first present the step-by-step effect of a series of optimizations on performance. These optimizations improve the performance of PCDM by up to a factor of six. They targ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997